* src/fns.c (sxhash_bignum): Include sign bit in hash.
authorMattias Engdegård <mattiase@acm.org>
Fri, 23 Feb 2024 10:26:45 +0000 (11:26 +0100)
committerMattias Engdegård <mattiase@acm.org>
Fri, 23 Feb 2024 10:26:45 +0000 (11:26 +0100)
src/fns.c

index 737757d06ccc69ae52e0b438d87ce39693f6e482..550545d14869339e06a31f2f14dec48300f0faa5 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -5193,7 +5193,7 @@ sxhash_bignum (Lisp_Object bignum)
 {
   mpz_t const *n = xbignum_val (bignum);
   size_t i, nlimbs = mpz_size (*n);
-  EMACS_UINT hash = 0;
+  EMACS_UINT hash = mpz_sgn(*n) < 0;
 
   for (i = 0; i < nlimbs; ++i)
     hash = sxhash_combine (hash, mpz_getlimbn (*n, i));